﻿#ifndef _OperatorsDataSolidManager_H
#define _OperatorsDataSolidManager_H

#include "OperManagerBase.h"

namespace Comp
{
	class FITKGraph3DWindowVTK;
}


namespace ModelOper
{
    class OperatorsCustomDataManager :public OperManagerBase
    {
        Q_OBJECT;
    public:
        OperatorsCustomDataManager();
        ~OperatorsCustomDataManager();

        virtual bool execGUI();
        virtual bool execProfession();

    protected:
        /**
         * @brief   获取三维可视化窗口。
         * @return  可视化窗口
         * @author  ChengHaotian (yeguangbaozi@foxmail.com)
         * @date    2024-06-12
         */
        Comp::FITKGraph3DWindowVTK* getGraphWidget();

		// 计时器
		QTimer* timer;

	public slots:
		void next();
        void fieldChanged(QString s);
    };

    // 按钮注册相关操作
    Register2FITKOperatorRepo(actionAddSolid, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionDelSolid, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionEditSolid, OperatorsCustomDataManager);

	Register2FITKOperatorRepo(actionAddFluid, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionDelFluid, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionEditFluid, OperatorsCustomDataManager);

	Register2FITKOperatorRepo(actionAddInlet, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionDelInlet, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionEditInlet, OperatorsCustomDataManager);

	Register2FITKOperatorRepo(actionAddOutlet, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionDelOutlet, OperatorsCustomDataManager);
	Register2FITKOperatorRepo(actionEditOutlet, OperatorsCustomDataManager);

    Register2FITKOperatorRepo(actionEditSamplingPoint, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionEditPhysicalSetting, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionEditComputationSetting, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionEdit3DVisualization, OperatorsCustomDataManager);

    Register2FITKOperatorRepo(actionExportCDXML, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionCDSolve, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionImportResult, OperatorsCustomDataManager);

    Register2FITKOperatorRepo(actionFirstResult, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionPreviousResult, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionRunResult, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionNextResult, OperatorsCustomDataManager);
    Register2FITKOperatorRepo(actionLastResult, OperatorsCustomDataManager);

}

#endif